package com.shop.cloud.model.response;

import io.swagger.annotations.ApiModelProperty;

import java.sql.Timestamp;
import java.util.Date;
import java.util.List;

import lombok.ToString;

import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.shop.cloud.domain.hongfu.BankAccount;
import com.shop.cloud.domain.hongfu.WithdrawHistory;

/**
 * @author Alex
 */

@ToString(callSuper = true)
@JsonInclude(JsonInclude.Include.NON_NULL)
@JsonIgnoreProperties(value = { "hibernateLazyInitializer", "handler",
		"fieldHandler" }, ignoreUnknown = true)
public class GetUserInfoResponse {

	@JsonProperty("id")
	@ApiModelProperty(value = "用户id", example = "", required = true)
	private Long id;

	@JsonProperty("headPortrait")
	@ApiModelProperty(value = "用户头像", example = "", required = true)
	private Long headPortrait;

	@JsonProperty("nickname")
	@ApiModelProperty(value = "用户昵称", example = "", required = true)
	private String nickname;

	@JsonProperty("username")
	@ApiModelProperty(value = "用户名称", example = "", required = true)
	private String username;

	@JsonProperty("sex")
	@ApiModelProperty(value = "性别描述", example = "", required = true)
	private String sex;

	@JsonProperty("phone")
	@ApiModelProperty(value = "手机号", example = "", required = true)
	private String phone;

	@JsonProperty("cardno")
	@ApiModelProperty(value = "会员卡号", example = "", required = true)
	private String cardno;

	@JsonProperty("identify")
	@ApiModelProperty(value = "身份证号", example = "", required = true)
	private String identify;

	@JsonProperty("birthday")
	@ApiModelProperty(value = "生日", example = "", required = true)
	private Timestamp birthday;

	@JsonProperty("area")
	@ApiModelProperty(value = "地区（省市区）", example = "", required = true)
	private String area;

	@JsonProperty("channel")
	@ApiModelProperty(value = "渠道", example = "", required = true)
	private String channel;

	@JsonProperty("level")
	@ApiModelProperty(value = "级别", example = "", required = true)
	private String level;

	@JsonProperty("store")
	@ApiModelProperty(value = "所属门店", example = "", required = true)
	private String store;

	@JsonProperty("create_time")
	@ApiModelProperty(value = "创建时间", example = "", required = true)
	private Date create_time;

	@JsonProperty("last_login_time")
	@ApiModelProperty(value = "最后登录时间", example = "", required = true)
	private Date last_login_time;

	@JsonProperty("addresses")
	@ApiModelProperty(value = "地址列表", example = "", required = true)
	private List<String> addresses;

	@ApiModelProperty(value = "头像", example = "", required = true)
	private String portrait;

	@ApiModelProperty(value = "地址内姓名", example = "", required = true)
	private String addressName;

	@ApiModelProperty(value = "地址内电话", example = "", required = true)
	private String addressPhone;

	private List<WithdrawHistory> withdrawHistories;

	private List<BankAccount> bankAccounts;

	public List<BankAccount> getBankAccounts() {
		return bankAccounts;
	}

	public void setBankAccounts(List<BankAccount> bankAccounts) {
		this.bankAccounts = bankAccounts;
	}

	public List<WithdrawHistory> getWithdrawHistories() {
		return withdrawHistories;
	}

	public void setWithdrawHistories(List<WithdrawHistory> withdrawHistories) {
		this.withdrawHistories = withdrawHistories;
	}

	public String getAddressName() {
		return addressName;
	}

	public void setAddressName(String addressName) {
		this.addressName = addressName;
	}

	public String getAddressPhone() {
		return addressPhone;
	}

	public void setAddressPhone(String addressPhone) {
		this.addressPhone = addressPhone;
	}

	public String getPortrait() {
		return portrait;
	}

	public void setPortrait(String portrait) {
		this.portrait = portrait;
	}

	public Long getId() {
		return id;
	}

	public void setId(Long id) {
		this.id = id;
	}

	public Long getHeadPortrait() {
		return headPortrait;
	}

	public void setHeadPortrait(Long headPortrait) {
		this.headPortrait = headPortrait;
	}

	public String getNickname() {
		return nickname;
	}

	public void setNickname(String nickname) {
		this.nickname = nickname;
	}

	public String getUsername() {
		return username;
	}

	public void setUsername(String username) {
		this.username = username;
	}

	public String getSex() {
		return sex;
	}

	public void setSex(String sex) {
		this.sex = sex;
	}

	public String getPhone() {
		return phone;
	}

	public void setPhone(String phone) {
		this.phone = phone;
	}

	public String getCardno() {
		return cardno;
	}

	public void setCardno(String cardno) {
		this.cardno = cardno;
	}

	public String getIdentify() {
		return identify;
	}

	public void setIdentify(String identify) {
		this.identify = identify;
	}

	public Timestamp getBirthday() {
		return birthday;
	}

	public void setBirthday(Timestamp birthday) {
		this.birthday = birthday;
	}

	public String getArea() {
		return area;
	}

	public void setArea(String area) {
		this.area = area;
	}

	public String getChannel() {
		return channel;
	}

	public void setChannel(String channel) {
		this.channel = channel;
	}

	public String getLevel() {
		return level;
	}

	public void setLevel(String level) {
		this.level = level;
	}

	public String getStore() {
		return store;
	}

	public void setStore(String store) {
		this.store = store;
	}

	public Date getCreate_time() {
		return create_time;
	}

	public void setCreate_time(Date create_time) {
		this.create_time = create_time;
	}

	public Date getLast_login_time() {
		return last_login_time;
	}

	public void setLast_login_time(Date last_login_time) {
		this.last_login_time = last_login_time;
	}

	public List<String> getAddresses() {
		return addresses;
	}

	public void setAddresses(List<String> addresses) {
		this.addresses = addresses;
	}
}
